On Wed, Jun 12, 2013 at 01:40:32PM -0700, Tejun Heo wrote: > From e96262150a513ce3d54ff221d4ace8aeec96e0bf Mon Sep 17 00:00:00 2001 > From: Tejun Heo <t...@kernel.org> > Date: Wed, 12 Jun 2013 13:37:42 -0700 > > percpu_ref_get/put() are using preempt_disable/enable() while > percpu_ref_kill() is using plain call_rcu() instead of > call_rcu_sched(). This is buggy as grace periods of the two may not > match. Fix it by using plain RCU in percpu_ref_get/put(). > > (I suggested using sched RCU in the first place but there's no actual > benefit in doing so unless we're gonna introduce different variants > of get/put to be called while preemption is alredy disabled, which we > definitely shouldn't.) > > Signed-off-by: Tejun Heo <t...@kernel.org> > Reported-by: Rusty Russell <ru...@rustcorp.com.au>
Applied to percpu/for-3.11. Thanks. -- tejun -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/