[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20181019.165827.1553123761636734093.davem@davemloft.net>
Date: Fri, 19 Oct 2018 16:58:27 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: dbanerje@...mai.com
Cc: nhorman@...driver.com, netdev@...r.kernel.org
Subject: Re: [PATCH net-next v2] netpoll: allow cleanup to be synchronous
From: Debabrata Banerjee <dbanerje@...mai.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 <nhorman@...driver.com>
> CC: "David S. Miller" <davem@...emloft.net>
> Signed-off-by: Debabrata Banerjee <dbanerje@...mai.com>
Applied, thank you.
Powered by blists - more mailing lists