[S390] kprobes: Align probe address.
authorDavid Wilder <dwilder@us.ibm.com>
Mon, 26 Mar 2007 18:42:40 +0000 (20:42 +0200)
committerHeiko Carstens <heiko.carstens@de.ibm.com>
Mon, 26 Mar 2007 18:43:46 +0000 (20:43 +0200)
commitb70842df77615309d76bcdd63bd289993e0844f2
tree1bfcc510b19b87375ee21b0782e3d2e964b92e49
parentafbc1e994ddcf3b6fe2dc928ee8dc31a5d0c3118
[S390] kprobes: Align probe address.

Running a probe on s390 with a probe address that is not 4 byte aligned
results in a Kernel BUG.  The problem is that the stura instruction used
by swap_instruction requires the destination address to be 4 byte aligned.
As stura only writes 4 bytes, aligning to the next 4 byte aligned address
results in the breakpoint instruction being stored past the probe address.
The fix is to align the address backward (to the previous 4 byte aligned
address) and writing the two byte breakpoint instruction in the appropriate
bytes.

Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: David Wilder <dwilder@us.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
arch/s390/kernel/kprobes.c