From: Debabrata Banerjee <dbane...@akamai.com>
Date: Thu, 18 Oct 2018 11:18:26 -0400

> This fixes a problem introduced by:
> commit 2cde6acd49da ("netpoll: Fix __netpoll_rcu_free so that it can hold the 
> rtnl lock")
> 
> When using netconsole on a bond, __netpoll_cleanup can asynchronously
> recurse multiple times, each __netpoll_free_async call can result in
> more __netpoll_free_async's. This means there is now a race between
> cleanup_work queues on multiple netpoll_info's on multiple devices and
> the configuration of a new netpoll. For example if a netconsole is set
> to enable 0, reconfigured, and enable 1 immediately, this netconsole
> will likely not work.
> 
> Given the reason for __netpoll_free_async is it can be called when rtnl
> is not locked, if it is locked, we should be able to execute
> synchronously. It appears to be locked everywhere it's called from.
> 
> Generalize the design pattern from the teaming driver for current
> callers of __netpoll_free_async.
> 
> CC: Neil Horman <nhor...@tuxdriver.com>
> CC: "David S. Miller" <da...@davemloft.net>
> Signed-off-by: Debabrata Banerjee <dbane...@akamai.com>

Applied, thank you.

Reply via email to