powerpc: Fix single step emulation of 32bit overflowed branches
Check truncate_if_32bit() on final write to nip. Signed-off-by: Michael Neuling <mikey@neuling.org> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
This commit is contained in:
parent
b9ef7d6b11
commit
70a54a4fae
@ -580,7 +580,7 @@ int __kprobes emulate_step(struct pt_regs *regs, unsigned int instr)
|
|||||||
if (instr & 1)
|
if (instr & 1)
|
||||||
regs->link = regs->nip;
|
regs->link = regs->nip;
|
||||||
if (branch_taken(instr, regs))
|
if (branch_taken(instr, regs))
|
||||||
regs->nip = imm;
|
regs->nip = truncate_if_32bit(regs->msr, imm);
|
||||||
return 1;
|
return 1;
|
||||||
#ifdef CONFIG_PPC64
|
#ifdef CONFIG_PPC64
|
||||||
case 17: /* sc */
|
case 17: /* sc */
|
||||||
|
Loading…
Reference in New Issue
Block a user