Re: [PATCH v2] powerpc/kprobes: Fix Oops by passing ppc_inst as a pointer to emulate_step() on ppc32

From: Michael Ellerman
Date: Sat Jun 26 2021 - 06:39:14 EST


On Wed, 23 Jun 2021 05:23:30 +0000 (UTC), Christophe Leroy wrote:
> Trying to use a kprobe on ppc32 results in the below splat:
> BUG: Unable to handle kernel data access on read at 0x7c0802a6
> Faulting instruction address: 0xc002e9f0
> Oops: Kernel access of bad area, sig: 11 [#1]
> BE PAGE_SIZE=4K PowerPC 44x Platform
> Modules linked in:
> CPU: 0 PID: 89 Comm: sh Not tainted 5.13.0-rc1-01824-g3a81c0495fdb #7
> NIP: c002e9f0 LR: c0011858 CTR: 00008a47
> REGS: c292fd50 TRAP: 0300 Not tainted (5.13.0-rc1-01824-g3a81c0495fdb)
> MSR: 00009000 <EE,ME> CR: 24002002 XER: 20000000
> DEAR: 7c0802a6 ESR: 00000000
> <snip>
> NIP [c002e9f0] emulate_step+0x28/0x324
> LR [c0011858] optinsn_slot+0x128/0x10000
> Call Trace:
> opt_pre_handler+0x7c/0xb4 (unreliable)
> optinsn_slot+0x128/0x10000
> ret_from_syscall+0x0/0x28
>
> [...]

Applied to powerpc/next.

[1/1] powerpc/kprobes: Fix Oops by passing ppc_inst as a pointer to emulate_step() on ppc32
https://git.kernel.org/powerpc/c/511eea5e2ccdfdbf3d626bde0314e551f247dd18

cheers