2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2025-01-10 22:54:11 +08:00
linux-next/arch/sh/kernel
Matt Fleming 9e28c46b7d sh: Fix dynamic ftrace's NOP action.
Ftrace on sh handles nop'ing out trace function calls differently than
other architectures. Instead of inserting NOP instructions in place of
the call to the function tracer we branch over the call instructions
and continue executing the main body of the function.

This patch fixes a bug in the implementation of ftrace_modify_code()
where we check that the old value of the code we're about to replace
is an expected one. In the ftrace_make_call() code path
ftrace_modify_code() was comparing the old instruction value with NOP
instructions. The compare was failing because we never actually insert
NOP instructions. It makes sense to just get rid of the NOP
instructions in ftrace_nop and compare the old code with the address
of the function body if we're expecting ftrace to have nop'd out the
function trace call.

Signed-off-by: Matt Fleming <matt@console-pimps.org>
2009-06-11 19:00:58 +01:00
..
cpu sh: Use __INIT macro instead of .text.init. 2009-04-27 19:51:58 -07:00
timers clocksource: pass clocksource to read() callback 2009-04-21 13:41:47 -07:00
vsyscall [S390] arch_setup_additional_pages arguments 2008-12-25 13:38:54 +01:00
.gitignore sh: Add an arch/sh/kernel/.gitignore 2008-07-29 08:29:32 +09:00
asm-offsets.c sh: hibernation support 2009-03-10 12:55:40 +09:00
cpufreq.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 2007-10-13 09:49:04 -07:00
crash_dump.c kdump: make elfcorehdr_addr independent of CONFIG_PROC_VMCORE 2008-10-20 08:52:39 -07:00
debugtraps.S sh: Generic kgdb stub support. 2008-12-22 18:44:04 +09:00
disassemble.c sh: Add a simple code dumper for SUPERH32 show_regs(). 2008-12-22 18:43:49 +09:00
early_printk.c serial: sh-sci: Reorder the SCxTDR write after the TDxE clear. 2008-11-13 17:46:06 +09:00
entry-common.S sh: Generic kgdb stub support. 2008-12-22 18:44:04 +09:00
ftrace.c sh: Fix dynamic ftrace's NOP action. 2009-06-11 19:00:58 +01:00
gpio.c sh: use gpiolib 2009-01-27 14:49:10 +09:00
head_32.S sh: convert to use __HEAD and HEAD_TEXT macros. 2009-04-26 09:20:39 -07:00
head_64.S sh: convert to use __HEAD and HEAD_TEXT macros. 2009-04-26 09:20:39 -07:00
idle.c sh: Wire up ARCH_HAS_DEFAULT_IDLE for cpuidle. 2009-04-02 13:08:31 +09:00
init_task.c take init_fs to saner place 2008-12-31 18:07:42 -05:00
io_generic.c sh: More I/O routine overhauling. 2008-10-04 05:25:52 +09:00
io_trapped.c sh: Add a command line option for disabling I/O trapping. 2009-04-02 12:31:16 +09:00
io.c sh: More I/O routine overhauling. 2008-10-04 05:25:52 +09:00
irq.c Merge branch 'irq-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-03-26 16:06:50 -07:00
kgdb.c sh: Generic kgdb stub support. 2008-12-22 18:44:04 +09:00
kprobes.c sh: kprobes: kretprobe_trampoline needs to be global. 2008-09-09 08:13:28 +09:00
machine_kexec.c sh: disallow kexec virtual entry 2009-03-20 18:56:04 +09:00
machvec.c sh: More I/O routine overhauling. 2008-10-04 05:25:52 +09:00
Makefile sh: Have 32-bit use arch/sh/kernel/Makefile_32. 2008-01-28 13:18:41 +09:00
Makefile_32 sh: hibernation support 2009-03-10 12:55:40 +09:00
Makefile_64 sh: Fix up GENERIC_GPIO build for ARCH_WANT_OPTIONAL_GPIO cases. 2009-01-27 14:49:10 +09:00
module.c sh: module_alloc() should be using vmalloc_exec(). 2008-08-04 13:34:29 +09:00
process_32.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 2009-04-05 11:15:54 -07:00
process_64.c Simplify copy_thread() 2009-04-02 19:04:51 -07:00
ptrace_32.c sh: Fix up DSP context save/restore. 2009-04-04 11:48:11 -04:00
ptrace_64.c sh: Provide linux/regset.h interface for SH-5. 2008-12-22 18:44:04 +09:00
relocate_kernel.S sh: add kexec jump support 2009-03-18 18:57:43 +09:00
setup.c sh: Fix up -Wformat-security whining. 2009-03-31 08:25:54 +09:00
sh_bios.c sh: Kill off sh_bios_in_gdb_mode(). 2008-12-22 18:44:44 +09:00
sh_ksyms_32.c sh: More movmem alias symbol exports for older compilers. 2008-12-22 18:43:49 +09:00
sh_ksyms_64.c sh: Provide sdivsi3/udivsi3/udivdi3 for sh64, kill off libgcc linking. 2008-12-22 18:44:05 +09:00
signal_32.c sh: Fix up spurious syscall restarting. 2009-01-29 11:56:03 +09:00
signal_64.c sh: Fix up spurious syscall restarting. 2009-01-29 11:56:03 +09:00
smp.c cpumask: convert struct clock_event_device to cpumask pointers. 2008-12-13 21:20:26 +10:30
stacktrace.c sh: latencytop support. 2008-09-13 01:44:03 +09:00
swsusp.c sh: hibernation support 2009-03-10 12:55:40 +09:00
sys_sh32.c [CVE-2009-0029] Remove __attribute__((weak)) from sys_pipe/sys_pipe2 2009-01-14 14:15:15 +01:00
sys_sh64.c unified (weak) sys_pipe implementation 2008-05-03 13:50:33 -07:00
sys_sh.c sh: Fix mmap2 for handling differing PAGE_SIZEs. 2009-04-21 07:34:53 +09:00
syscalls_32.S sh: wire up sys_preadv/sys_pwritev() syscalls. 2009-04-06 09:00:16 -07:00
syscalls_64.S sh: wire up sys_preadv/sys_pwritev() syscalls. 2009-04-06 09:00:16 -07:00
time_32.c clocksource: pass clocksource to read() callback 2009-04-21 13:41:47 -07:00
time_64.c cpumask: remove references to struct irqaction's mask field. 2009-03-30 22:05:14 +10:30
topology.c sh: replace remaining __FUNCTION__ occurrences 2008-03-06 11:18:22 +09:00
traps_32.c sh: Fix up DSP context save/restore. 2009-04-04 11:48:11 -04:00
traps_64.c sh64: add missing #include <asm/fpu.h>'s 2008-04-16 02:00:09 +09:00
traps.c sh: Make is_valid_bugaddr() more intelligent on nommu. 2008-05-19 19:32:07 +09:00
vmlinux_32.lds.S sh: convert to use __HEAD and HEAD_TEXT macros. 2009-04-26 09:20:39 -07:00
vmlinux_64.lds.S sh: convert to use __HEAD and HEAD_TEXT macros. 2009-04-26 09:20:39 -07:00
vmlinux.lds.S sh: Split out linker script to _32 and _64 variants. 2008-01-28 13:18:45 +09:00