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]

 



From: Cong Wang <cwang@xxxxxxxxxxxxxxxx>
Date: Tue, 18 Mar 2014 11:26:54 -0700

> 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.

Right, this is bogus.
--
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]