Re: [PATCH 3/6] netpoll: Don't allow on devices that perform their own xmit locking

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Mar 17, 2014 at 11:25 PM, Eric W. Biederman
<ebiederm@xxxxxxxxxxxx> wrote:
>
> There are strong and reasonable assumptions in the netpoll code that the
> transmit code for network devices will not perform their own locking,
> that can easily lead to deadlock if the assumptions are violated.
>
> Document those assumptions by verifying the network device on which
> netpoll is enabled does not have NETIF_F_LLTX set in netdev->features.
>
> Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx>
> ---
>  net/core/netpoll.c |    1 +
>  1 files changed, 1 insertions(+), 0 deletions(-)
>
> diff --git a/net/core/netpoll.c b/net/core/netpoll.c
> index 825200fcb0ff..a9abb195a2c3 100644
> --- a/net/core/netpoll.c
> +++ b/net/core/netpoll.c
> @@ -606,6 +606,7 @@ int __netpoll_setup(struct netpoll *np, struct net_device *ndev)
>         INIT_WORK(&np->cleanup_work, netpoll_async_cleanup);
>
>         if ((ndev->priv_flags & IFF_DISABLE_NETPOLL) ||
> +           (ndev->features & NETIF_F_LLTX) ||
>             !ndev->netdev_ops->ndo_poll_controller) {
>                 np_err(np, "%s doesn't support polling, aborting\n",
>                        np->dev_name);

Hmm? This basically disables netpoll on a lots of devices, such as vlan.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel Discussion]     [TCP Instrumentation]     [Ethernet Bridging]     [Linux Wireless Networking]     [Linux WPAN Networking]     [Linux Host AP]     [Linux WPAN Networking]     [Linux Bluetooth Networking]     [Linux ATH6KL Networking]     [Linux Networking Users]     [Linux Coverity]     [VLAN]     [Git]     [IETF Annouce]     [Linux Assembly]     [Security]     [Bugtraq]     [Yosemite Information]     [MIPS Linux]     [ARM Linux Kernel]     [ARM Linux]     [Linux Virtualization]     [Linux IDE]     [Linux RAID]     [Linux SCSI]