linux/arch/blackfin/kernel
Josh Poimboeuf 9a7c348ba6 ftrace: Add return address pointer to ftrace_ret_stack
Storing this value will help prevent unwinders from getting out of sync
with the function graph tracer ret_stack.  Now instead of needing a
stateful iterator, they can compare the return address pointer to find
the right ret_stack entry.

Note that an array of 50 ftrace_ret_stack structs is allocated for every
task.  So when an arch implements this, it will add either 200 or 400
bytes of memory usage per task (depending on whether it's a 32-bit or
64-bit platform).

Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>
Acked-by: Steven Rostedt <rostedt@goodmis.org>
Cc: Andy Lutomirski <luto@amacapital.net>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Brian Gerst <brgerst@gmail.com>
Cc: Byungchul Park <byungchul.park@lge.com>
Cc: Denys Vlasenko <dvlasenk@redhat.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Kees Cook <keescook@chromium.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Nilay Vaish <nilayvaish@gmail.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/a95cfcc39e8f26b89a430c56926af0bb217bc0a1.1471607358.git.jpoimboe@redhat.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2016-08-24 12:15:14 +02:00
..
cplb-mpu blackfin: cplb-mpu: fix page mask table overflow 2012-03-21 11:00:06 +08:00
cplb-nompu bfin cache: dcplb map: add 16M dcplb map for BF60x 2013-05-09 18:22:45 +08:00
.gitignore Blackfin: ignore generated vmlinux.lds 2009-05-27 00:27:03 -04:00
asm-offsets.c blackfin: Autogenerate offsets in struct thread_info 2015-04-12 20:58:24 +02:00
bfin_dma.c bfin-dma: only use MDMA3 on bf609 2012-07-24 13:39:48 +08:00
bfin_gpio.c blackfin: gpio: switch to gpiochip_add_data() 2016-02-19 09:51:42 +01:00
bfin_ksyms.c locking/atomic, arch/blackfin: Implement atomic_fetch_{add,sub,and,or,xor}() 2016-06-16 10:48:23 +02:00
cplbinfo.c blackfin updates for Linux 3.10 2013-05-10 07:21:16 -07:00
debug-mmrs.c gpio: Include linux/gpio.h instead of asm/gpio.h 2016-02-16 00:20:03 +01:00
dma-mapping.c dma-mapping: use unsigned long for dma_attrs 2016-08-04 08:50:07 -04:00
dumpstack.c dump_stack: consolidate dump_stack() implementations and unify their behaviors 2013-04-30 17:04:02 -07:00
early_printk.c early_printk: consolidate random copies of identical code 2013-04-29 18:28:13 -07:00
entry.S bfin: switch to generic vfork, get rid of pointless wrappers 2012-11-28 23:43:41 -05:00
exception.c Blackfin: split kernel/traps.c 2010-05-21 09:40:17 -04:00
fixed_code.S Blackfin: mass clean up of copyright/licensing info 2009-10-07 04:36:26 -04:00
flat.c Blackfin: mass clean up of copyright/licensing info 2009-10-07 04:36:26 -04:00
ftrace-entry.S ftrace: Remove CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST from config 2016-08-24 12:15:13 +02:00
ftrace.c ftrace: Add return address pointer to ftrace_ret_stack 2016-08-24 12:15:14 +02:00
gptimers.c blackfin: bf60x: fix compiling warning 2012-05-21 14:54:26 +08:00
ipipe.c Disintegrate asm/system.h for Blackfin [ver #2] 2012-03-21 11:00:08 +08:00
irqchip.c genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
kgdb_test.c Disintegrate asm/system.h for Blackfin [ver #2] 2012-03-21 11:00:08 +08:00
kgdb.c arch: blackfin: kernel: kgdb: Remove unused function 2015-04-23 22:56:54 +08:00
Makefile blackfin: adi gpio driver and pinctrl driver support 2013-11-15 17:33:42 +08:00
module.c modules: make arch's use default loader hooks 2011-07-24 22:06:04 +09:30
nmi.c atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
perf_event.c blackfin/perf: Convert hotplug notifier to state machine 2016-07-14 09:34:36 +02:00
process.c bfin: Fix typo in arch_cpu_idle() 2013-04-10 12:38:48 +02:00
pseudodbg.c Blackfin: show the whole accumulator in the pseudo DBG insn 2010-05-22 14:19:06 -04:00
ptrace.c blackfin/ptrace: call find_vma with the mmap_sem held 2014-06-06 16:08:16 -07:00
reboot.c Blackfin: fix wrong place disabled irq 2012-10-08 14:36:30 +08:00
setup.c arch: blackfin: kernel: setup.c: Cleaning up missing null-terminate in conjunction with strncpy 2015-04-23 21:34:25 +08:00
shadow_console.c blackfin: add bf60x to current framework 2012-05-21 14:54:12 +08:00
signal.c frv: Remove signal translation and exec_domain 2015-04-12 20:58:24 +02:00
stacktrace.c Blackfin: add preliminary support for STACKTRACE 2009-06-13 07:20:14 -04:00
sys_bfin.c blackfin: Add export.h to files using EXPORT_SYMBOL/THIS_MODULE 2011-10-31 19:31:01 -04:00
time-ts.c blackfin/time-ts: Migrate to new 'set-state' interface 2015-08-10 11:40:59 +02:00
time.c time: convert arch_gettimeoffset to a pointer 2012-12-24 09:36:07 -07:00
trace.c vfs: add file_path() helper 2015-06-23 18:00:05 -04:00
traps.c blackfin: Autogenerate offsets in struct thread_info 2015-04-12 20:58:24 +02:00
vmlinux.lds.S arch, ftrace: for KASAN put hard/soft IRQ entries into separate sections 2016-03-25 16:37:42 -07:00