From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752673AbaILT0I (ORCPT ); Fri, 12 Sep 2014 15:26:08 -0400 Received: from qmta11.westchester.pa.mail.comcast.net ([76.96.59.211]:46932 "EHLO QMTA11.westchester.pa.mail.comcast.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751845AbaILT0G (ORCPT ); Fri, 12 Sep 2014 15:26:06 -0400 X-Greylist: delayed 366 seconds by postgrey-1.27 at vger.kernel.org; Fri, 12 Sep 2014 15:26:06 EDT Date: Fri, 12 Sep 2014 14:19:57 -0500 (CDT) From: Christoph Lameter X-X-Sender: cl@gentwo.org To: "Paul E. McKenney" cc: Fengguang Wu , Shan Wei , Jet Chen , Su Tao , Yuanhan Liu , LKP , linux-kernel@vger.kernel.org, bobby.prani@gmail.com, Tejun Heo Subject: Re: [rcu] BUG: unable to handle kernel NULL pointer dereference at 000000da In-Reply-To: <20140912190238.GJ4775@linux.vnet.ibm.com> Message-ID: References: <20140901084403.GA18808@localhost> <20140912190238.GJ4775@linux.vnet.ibm.com> Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, 12 Sep 2014, Paul E. McKenney wrote: > So, I am not seeing this failure in my testing, but my best guess is > that the problem is due to the fact that force_quiescent_state() is > sometimes invoked with preemption enabled, which breaks __this_cpu_read() > though perhaps with very low probability. The common-case call (from > __call_rcu_core()) -does- have preemption disabled, in fact, it has > interrupts disabled. How could __this_cpu_read() break in a way that would make a difference to the code? There was no disabling/enabling of preemption before the patch and there is nothing like that after the patch. If there was a race then it still exists. The modification certainly cannot create a race. From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============7178112378355682074==" MIME-Version: 1.0 From: Christoph Lameter To: lkp@lists.01.org Subject: Re: [rcu] BUG: unable to handle kernel NULL pointer dereference at 000000da Date: Fri, 12 Sep 2014 19:20:01 +0000 Message-ID: In-Reply-To: <20140912190238.GJ4775@linux.vnet.ibm.com> List-Id: --===============7178112378355682074== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable On Fri, 12 Sep 2014, Paul E. McKenney wrote: > So, I am not seeing this failure in my testing, but my best guess is > that the problem is due to the fact that force_quiescent_state() is > sometimes invoked with preemption enabled, which breaks __this_cpu_read() > though perhaps with very low probability. The common-case call (from > __call_rcu_core()) -does- have preemption disabled, in fact, it has > interrupts disabled. How could __this_cpu_read() break in a way that would make a difference to the code? There was no disabling/enabling of preemption before the patch and there is nothing like that after the patch. If there was a race then it still exists. The modification certainly cannot create a race. --===============7178112378355682074==--