lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Thu, 13 Dec 2007 09:13:54 -0500 From: Andrew Gallatin <gallatin@...i.com> To: Joonwoo Park <joonwpark81@...il.com> CC: "Kok, Auke" <auke-jan.h.kok@...el.com>, David Miller <davem@...emloft.net>, netdev@...r.kernel.org, linux-kernel@...r.kernel.org, jgarzik@...ox.com, shemminger@...ux-foundation.org, Jesse Brandeburg <jesse.brandeburg@...el.com> Subject: Re: [RFC] net: napi fix Joonwoo Park wrote: > 2007/12/13, Kok, Auke <auke-jan.h.kok@...el.com>: >> David Miller wrote: >>> From: Andrew Gallatin <gallatin@...i.com> >>> Date: Wed, 12 Dec 2007 12:29:23 -0500 >>> >>>> Is the netif_running() check even required? >>> No, it is not. >>> >>> When a device is brought down, one of the first things >>> that happens is that we wait for all pending NAPI polls >>> to complete, then block any new polls from starting. >> I think this was previously (pre-2.6.24) not the case, which is why e1000 et al >> has this check as well and that's exactly what is causing most of the >> net_rx_action oopses in the first place. Without the netif_running() check >> previously the drivers were just unusable with NAPI and prone to many races with >> down (i.e. touching some ethtool ioctl which wants to do a reset while routing >> small packets at high numbers). that's why we added the netif_running() check in >> the first place :) >> >> There might be more drivers lurking that need this change... >> >> Auke >> > > Also in my case, without netif_running() check, I cannot do ifconfig down. > It stucked if packet generator was sending packets. If the netif_running() check is indeed required to make a device break out of napi polling and respond to an ifconfig down, then I think the netif_running() check should be moved up into net_rx_action() to avoid potential for driver complexity and bugs like the ones you found. Drew -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists