Re: [PATCH 1/1] percpu-refcount: init ->confirm_switch member properly

From: Tejun Heo
Date: Thu Aug 11 2016 - 16:26:17 EST


On Thu, Aug 11, 2016 at 07:27:09PM +0200, Roman Pen wrote:
> This patch targets two things which are related to ->confirm_switch:
>
> 1. Init ->confirm_switch pointer with NULL on percpu_ref_init() or
> kernel frightfully complains with WARN_ON_ONCE(ref->confirm_switch)
> at __percpu_ref_switch_to_atomic if memory chunk was not properly
> zeroed.
>
> 2. Warn if RCU callback is still in progress on percpu_ref_exit().
> The race still exists, because percpu_ref_call_confirm_rcu()
> drops ->confirm_switch to NULL early, but that is only a warning
> and still the caller is responsible that ref is no longer in
> active use. Hopefully that can help to catch incorrect usage
> of percpu-refcount.
>
> Signed-off-by: Roman Pen <roman.penyaev@xxxxxxxxxxxxxxxx>
> Cc: Tejun Heo <tj@xxxxxxxxxx>
> Cc: linux-kernel@xxxxxxxxxxxxxxx

Applied to percpu/for-4.9.

Thanks.

--
tejun