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