s390/ftrace: fix mcount adjustment
authorHeiko Carstens <heiko.carstens@de.ibm.com>
Mon, 13 May 2013 12:48:52 +0000 (14:48 +0200)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Wed, 15 May 2013 11:09:09 +0000 (13:09 +0200)
commitaca91209775514b5a335e7ef11f1d636618590c7
treed2bc7248e2a4451e0a68c1680106770ad64874eb
parentbb4b42ce0ca36af8c113587ab64b138b3cf5459c
s390/ftrace: fix mcount adjustment

Tony Jones reported that the ftrace self tests on s390 do not work:

<6>Testing dynamic ftrace ops #1: (0 0 0 0 0) FAILED!
<6>Testing tracer irqsoff:
<3>failed to start irqsoff tracer
<4>.. no entries found ..FAILED!
<6>Testing tracer wakeup:
<3>failed to start wakeup tracer
<4>.. no entries found ..FAILED!
<6>Testing tracer function_graph:
<4>Failed to init function_graph tracer, init returned -19
<4>FAILED!

This happens because we forgot to adjust the instruction pointer that gets
passed to the ftrace trace function by MCOUNT_INSN_SIZE.

In addition change MCOUNT_INSN_SIZE to the correct value on 31 bit.
It only worked so far because the to be patched instruction was identical.

Reported-by: Tony Jones <tonyj@suse.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
arch/s390/include/asm/ftrace.h
arch/s390/kernel/ftrace.c
arch/s390/kernel/mcount.S
arch/s390/kernel/mcount64.S