[PATCH] powerpc/perf: Dereference bhrb entries safely

Naveen N. Rao naveen.n.rao at linux.vnet.ibm.com
Wed Dec 13 02:39:26 AEDT 2017


Ravi Bangoria wrote:
> It may very well happen that branch instructions recorded by
> bhrb entries already get unmapped before they get processed by
> the kernel. Hence, trying to dereference such memory location
> will endup in a crash. Ex,
> 
>     Unable to handle kernel paging request for data at address 0xc008000019c41764
>     Faulting instruction address: 0xc000000000084a14
>     NIP [c000000000084a14] branch_target+0x4/0x70
>     LR [c0000000000eb828] record_and_restart+0x568/0x5c0
>     Call Trace:
>     [c0000000000eb3b4] record_and_restart+0xf4/0x5c0 (unreliable)
>     [c0000000000ec378] perf_event_interrupt+0x298/0x460
>     [c000000000027964] performance_monitor_exception+0x54/0x70
>     [c000000000009ba4] performance_monitor_common+0x114/0x120
> 
> Fix this by deferefencing them safely.
> 
> Suggested-by: Naveen N. Rao <naveen.n.rao at linux.vnet.ibm.com>
> Signed-off-by: Ravi Bangoria <ravi.bangoria at linux.vnet.ibm.com>

Reviewed-by: Naveen N. Rao <naveen.n.rao at linux.vnet.ibm.com>


- Naveen




More information about the Linuxppc-dev mailing list