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
					
				
			
		
					 1 changed files with 1 additions and 1 deletions
				
			
		| 
						 | 
					@ -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…
	
	Add table
		Add a link
		
	
		Reference in a new issue