Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755772AbdLVEn1 (ORCPT ); Thu, 21 Dec 2017 23:43:27 -0500 Received: from ozlabs.org ([103.22.144.67]:51213 "EHLO ozlabs.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753199AbdLVEnY (ORCPT ); Thu, 21 Dec 2017 23:43:24 -0500 X-powerpc-patch-notification: thanks X-powerpc-patch-commit: f41d84dddc66b164ac16acf3f584c276146f1c48 In-Reply-To: <20171212122915.20338-1-ravi.bangoria@linux.vnet.ibm.com> To: Ravi Bangoria From: Michael Ellerman Cc: maddy@linux.vnet.ibm.com, linux-kernel@vger.kernel.org, kamalesh@linux.vnet.ibm.com, paulus@samba.org, kan.liang@intel.com, Ravi Bangoria , tglx@linutronix.de, linuxppc-dev@lists.ozlabs.org, naveen.n.rao@linux.vnet.ibm.com Subject: Re: powerpc/perf: Dereference bhrb entries safely Message-Id: <3z2wqt3rg6z9s7g@ozlabs.org> Date: Fri, 22 Dec 2017 15:43:22 +1100 (AEDT) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1152 Lines: 27 On Tue, 2017-12-12 at 12:29:15 UTC, 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 > Signed-off-by: Ravi Bangoria > Reviewed-by: Naveen N. Rao Applied to powerpc fixes, thanks. https://git.kernel.org/powerpc/c/f41d84dddc66b164ac16acf3f584c2 cheers