From: Tom Herbert <t...@herbertland.com>
Date: Wed, 5 Aug 2015 09:39:27 -0700

> There is a race condition in store_rps_map that allows jump label
> count in rps_needed to go below zero. This can happen when
> concurrently attempting to set and a clear map.
> 
> Scenario:
> 
> 1. rps_needed count is zero
> 2. New map is assigned by setting thread, but rps_needed count _not_ yet
>    incremented (rps_needed count still zero)
> 2. Map is cleared by second thread, old_map set to that just assigned
> 3. Second thread performs static_key_slow_dec, rps_needed count now goes
>    negative
> 
> Fix is to increment or decrement rps_needed under the spinlock.
> 
> Signed-off-by: Tom Herbert <t...@herbertland.com>

Applied, thanks Tom.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to