diff options
author | Heiko Carstens <heiko.carstens@de.ibm.com> | 2008-11-14 18:18:05 +0100 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2008-11-14 18:18:53 +0100 |
commit | 50bec4ce5d36ebf96189dcc54e20c7fce4bf61bf (patch) | |
tree | 5f04e012e882ed15f9c7f1f45b0e9a27dd2656f5 /drivers/s390/cio/device.c | |
parent | 632448f65001c4935ed0d3bb362017d773da2eca (diff) | |
download | kernel_samsung_smdk4412-50bec4ce5d36ebf96189dcc54e20c7fce4bf61bf.zip kernel_samsung_smdk4412-50bec4ce5d36ebf96189dcc54e20c7fce4bf61bf.tar.gz kernel_samsung_smdk4412-50bec4ce5d36ebf96189dcc54e20c7fce4bf61bf.tar.bz2 |
[S390] ftrace: fix kernel stack backchain walking
With CONFIG_IRQSOFF_TRACER the trace_hardirqs_off() function includes
a call to __builtin_return_address(1). But we calltrace_hardirqs_off()
from early entry code. There we have just a single stack frame.
So this results in a kernel stack backchain walk that would walk beyond
the kernel stack. Following the NULL terminated backchain this results
in a lowcore read access.
To fix this we simply call trace_hardirqs_off_caller() and pass the
current instruction pointer.
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'drivers/s390/cio/device.c')
0 files changed, 0 insertions, 0 deletions