Prev: [080/140] ahci,ata_generic: let ata_generic handle new MBP w/ MCP89
Next: [059/205] drm/i915: Make G4X-style PLL search more permissive
From: Greg KH on 30 Jul 2010 14:00 2.6.33-stable review patch. If anyone has any objections, please let us know. ------------------ From: Nicolas Pitre <nico(a)fluxnic.net> commit 0ebe25f90cd99bb1bcf622ec8a841421d48380d6 upstream. From: Bin Yang <bin.yang(a)marvell.com> Signed-off-by: Bin Yang <bin.yang(a)marvell.com> Signed-off-by: Nicolas Pitre <nicolas.pitre(a)linaro.org> Signed-off-by: Russell King <rmk+kernel(a)arm.linux.org.uk> Signed-off-by: Greg Kroah-Hartman <gregkh(a)suse.de> --- arch/arm/kernel/kprobes-decode.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) --- a/arch/arm/kernel/kprobes-decode.c +++ b/arch/arm/kernel/kprobes-decode.c @@ -583,13 +583,14 @@ static void __kprobes emulate_ldr(struct { insn_llret_3arg_fn_t *i_fn = (insn_llret_3arg_fn_t *)&p->ainsn.insn[0]; kprobe_opcode_t insn = p->opcode; + long ppc = (long)p->addr + 8; union reg_pair fnr; int rd = (insn >> 12) & 0xf; int rn = (insn >> 16) & 0xf; int rm = insn & 0xf; long rdv; - long rnv = regs->uregs[rn]; - long rmv = regs->uregs[rm]; /* rm/rmv may be invalid, don't care. */ + long rnv = (rn == 15) ? ppc : regs->uregs[rn]; + long rmv = (rm == 15) ? ppc : regs->uregs[rm]; long cpsr = regs->ARM_cpsr; fnr.dr = insnslot_llret_3arg_rflags(rnv, 0, rmv, cpsr, i_fn); -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ |